home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 2: Applications / Linux Cubed Series 2 - Applications.iso / database / postgres / appgen-0.2-a / appgen-0 / AppGEN / README < prev   
Encoding:
Text File  |  1996-07-11  |  6.1 KB  |  129 lines

  1. Appgen-0.2
  2. ----------
  3.  
  4. Appgen is a an application generator and high level 4GL for creating WWW
  5. based applications for use on the internet or corporate intranets. 
  6. It is designed to use the Postgres95 database system but could probably be 
  7. modified to work with any SQL database server such as mSQL. 
  8. The generated C files and executables are designed to be executed as CGI 
  9. scripts by a web server such as NCSA's HTTPD.
  10.  
  11. What does it do ?
  12. Appgen generates data entry forms capable of adding, amending, searching 
  13. for and deleting records from an SQL server (currently Postgres95). The
  14. forms are based on HTML and so can be accessed via any Web browser.
  15. The data structures are specified in a definition file which simply 
  16. describes the fields of the database. The DEFGEN utility then compiles these
  17. definition files into appgen source code which can modified before compilation
  18. by the appgen compiler. The appgen compiler outputs standard C code which 
  19. forms the cgi scripts. Some code relies on Java applets, which are provided. 
  20.  
  21. Installation
  22. ------------
  23. You must have Postgres95 fully installed and working and also HTTPD. 
  24. This package should ideally be extracted into /usr/local/AppGEN, although 
  25. you can change it to something else but you'll need to modify the generated
  26. makefiles. 
  27. You'll need to copy the ag/ directory to the document root directory of your
  28. web server e.g. cp -R ag /usr/local/httpd
  29. The ag directory contains gif and java files needed at runtime.
  30. You then need to add /usr/local/AppGEN/bin to your search path. 
  31. Linux a.out (i386) binaries are provided but if you need to recompile them, they
  32. should compile on most platforms, then do a make from the src/ directory.
  33. You will obviously need the java development kit to recompile the applets.
  34.  
  35. Compiling and Installing the Personal Information Manager
  36. ---------------------------------------------------------
  37. The PIM is provided as one of the sample applications. It is pretty basic, 
  38. consisting of a To-Do list manager and a contacts database, but illustrates 
  39. quite well the appgen 4GL and the benefits gained by running this sort of 
  40. application in a groupware environment. The other sample applications are 
  41. probably not of general interest as they are Estates related but do serve as
  42. an example of appgen 4GL programming, demonstrating what can be achieved with
  43. the system. All the sample applications are found in the apps/ directory.
  44. To install the PIM, firstly you will need to modify the global.app file to 
  45. set your site specific settings, the src directory is important as this will 
  46. be the directory where the generated C files will be deposited. 
  47. Type appgen pim.app, this compiles the pim file and produces the C files. 
  48. Goto your src directory and type make, that compiles the C files and puts 
  49. the executables into your CGI-BIN directory. 
  50. You then need to create the SQL tables on postgres and setup some users, this 
  51. is achieved by executed the pim.sql file e.g. psql <pim.sql
  52. The application is then ready to use with netscape http://localhost/cgi-bin/pim
  53. or whatever hostname and directories you have compiled with. Login with
  54. username demo and password demo.
  55.  
  56. N.B. The cis.app file has been heavily modified after being generated by defgen
  57. so if you run defgen cis.def you will overwrite the cis.app file with a much 
  58. more basic version.
  59.  
  60.  
  61. Usage
  62. -----
  63. There are three executables :-
  64.  
  65. defgen - is the application generator which generates appgen source code from 
  66.          a table definition file (.def) Example structures are provided.
  67.          Usage: defgen filename.def
  68.          Outputs a file filename.app
  69.          
  70. appgen - is the appgen compiler, it compiles app files into cgi-scripts in C.
  71.      Usage: appgen filename.app
  72.      Outputs a series of C and html files into the src-dir directory.
  73.      
  74. dbf2sql - Not really an integral part of appgen but provided for convenience.
  75.       Converts dBase III compatible DBF files to SQL, the SQL files consist
  76.       of a CREATE TABLE clause and a series of INSERT clauses.
  77.       Usage: dbf2sql filename.dbf
  78.       Outputs to stdout, so can be redirected.               
  79.  
  80.  
  81.  
  82. BUGS
  83. ----
  84. Probably loads, 
  85. * Def file parser needs improving, please stick to the format rigourously.
  86. * Appgen has a few bugs, one nasty one is that it occasionally puts too 
  87.   many brackets in C code for the CALC statement. The cis.app does this
  88.   in invoice.c around line 292 which has to be edited prior to compilation. 
  89.  
  90. TODO
  91. ----
  92. There is much I would like to do with this, which is why I am releasing
  93. it, in the hope that it might attract other developers to contribute. A 
  94. report generator would be quite an easy addition and some sort of 
  95. menu generator would be nice. Appgen needs a lot of tidying, to iron out the 
  96. bugs and perhaps introduce 2 passes to the compiler. More Java applets are 
  97. needed for different graph types.
  98. What I'm finally hoping for is a visual frontend, probably implemented in java,
  99. so an application can be built with a few mouse clicks.
  100. Documentation, there is a dire shortage of documentation, there is help file 
  101. ag/help.html but it is a long way off being completed. My best advice is to 
  102. study the example applications provided. The language is similar to DataFlex, 
  103. in some respects and syntax. Its pretty straightforward once you get the hang 
  104. of it but if you find some occaision when its not behaving itself or you find
  105. that there are inconsistencies within it, please report it as a bug.
  106.  
  107.  
  108. Licence
  109. -------
  110. Whilst I want to retain the copyright, I hereby grant any user permission to 
  111. use, modify and distribute the software providing that the source is included 
  112. with distributions and any modifications which are likely to be of use to the
  113. wider internet community are emailed to me.
  114. Any commercial interest in developing this for sale should seek permission from
  115. the authors.
  116.  
  117.  
  118. History
  119. -------
  120. Appgen 0.2 has been completely rewritten from scratch and does not incorporate
  121. much from appgen 0.1. However DBF2SQL is unchanged from the previous version.
  122. Credit should be acknowledged to paco@arraquis.dif.um.es, C.J.Leune@KUB.NL and 
  123. Alberto Odria Diaz for their contributions to version 0.1.
  124.  
  125.  
  126. Andrew Whaley
  127. andrew@arthur.smuht.nwest.nhs.uk - Work
  128. andrew@manix.demon.co.uk - Home 
  129.